@哈哈鱼
3年前 提问
1个回答
简单python爬虫完整代码
趣能一姐
3年前
一、导入需要用到的库
在这个通用公式里,我们要用到的库只有两个,一个是requests,另一个就是lxml里的etree,并且在通用公式中,第一个步骤的代码不需要进行任何改动,具体代码如下:
import requests
from lxml import etree
二、确定URL和请求头
url就是我们想要爬取的网站的链接,而请求头是从网站上的源代码处复制过来的,具体方法如下:
url='https://www.XXX.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
'Referer': 'https://www.XXX.com/'}
三、编写获取数据的函数
首先我们要定义一个函数,因为都是实现获取数据的功能,所以我们将其命名为:get_data(),然后将设置好的headers传入,目的是为了防止反爬。而encoding对应的是编码方式,这是为了防止获取到的网页内容乱码而设置的。紧接着我们就是要设置selector选择器,然后通过xpath方法来获取内容对应的xpath路径,具体获取方法为:右键点击网页任意空白处,选择检查。然后在弹出的窗口中,点击左上角的箭头符号,将箭头移动到你想要获取的数据位置,点击定位一下,然后再回到网页源代码处,点击右键,选择copy,再选择copy xpath,然后再将复制好的路径粘贴到我们编写的代码中。因为我们想获取的是标题对应的文本内容,所以我们需要在复制到的xpath路径后加上:/text()
具体实现代码如下:
def get_data(url):
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
selector = etree.HTML(response.text)
content = selector.xpath('//*[@id="newpcnews-1"]/div/div[2]/a[1]/div/text()')
print(content)
四、调用函数
函数定义好之后,我们就需要调用它,调用的方法就是将定义好的函数名称复写一遍,然后再将url传入即可。也可理解为这是在给整个代码设置一个开关,只有有了这一个开关,运行代码时程序才能跑起来。具体代码如下:
get_data(url)
完整代码
import requests
from lxml import etree
url='https://www.XXX.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
'Referer': 'https://www.XXX.com/'}
def get_data(url):
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
selector = etree.HTML(response.text)
content = selector.xpath('//*[@id="newpcnews-1"]/div/div[2]/a[1]/div/text()')
print(content)
get_data(url)